package cn.chinaunicom.dingtalk.sender.entity.interactive;


import com.aliyun.dingtalkcard_1_0.models.PrivateDataValue;
import lombok.Getter;
import lombok.Setter;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;


/**
 * 高级卡片实体参数
 */

@Setter
@Getter
public class InteractiveCardVo {
    // 钉钉卡片模版 (必须)
    private String cardTemplateId;
    // 群ID
    private String openConversationId;

    // 接收人
    private List<String> receiverUserIdList;

    // 卡片的id 必须唯一
    private String outTrackId;

    // 机器人的code
    private String robotCode;

    // 0单聊, 1 群聊
    private int conversationType = 0;

    // 卡片公有数据。
    private CardContent cardData;

    // 卡片私有数据
    private Map<String, PrivateDataValue> privateData;

    //企业机器人ID，填写企业内部开发-机器人的AppKey
    private String chatBotId;

    //用户ID类型： //1（默认）：userid模式  2：unionId模式
    private int userIdType = 1;

    // 需要@的人
    private List<DingUser> atOpenIds = new LinkedList<>();

    // 是否支持转发
    private boolean supportForward = true;


    // 是否是否开启卡片纯拉模式
    private boolean pullStrategy = false;

    private String callbackRouteKey="";

    public Map<String, String> getAtUsers() {
        Map<String, String> _atOpenIds = new HashMap<>();
        for (DingUser user : atOpenIds) {
           // _atOpenIds.put(user.getDingId(), user.getUserName());
        }
        return _atOpenIds;
    }

}
